package NewCoderBranchControl;

import java.util.Scanner;

public class Exercise30 {

    //    描述
//    KiKi实现一个简单计算器，实现两个数的“加减乘除”运算，用户从键盘输入算式“操作数1运算符操作数2”，计算并输出表达式的值，如果输入的运算符号不包括在（+、-、*、/）范围内，输出“Invalid
//    operation!”。当运算符为除法运算，即“/”时。如果操作数2等于0.0，则输出“Wrong!Division by zero!”
//    数据范围：字符串长度满足
//        3≤n≤50  ，保证运算符是一个char类型字符。
//    输入描述：
//    输入一行字符串，操作数1+运算符+操作数2 （其中合法的运算符包括：+、-、*、/）。
//    输出描述：
//    输出为一行。
//
//    如果操作数和运算符号均合法，则输出一个表达式，操作数1运算符操作数2=运算结果，各数小数点后均保留4位，数和符号之间没有空格。
//    如果输入的运算符号不包括在（+、-、*、/）范围内，输出“Invalid operation!”。当运算符为除法运算，即“/”时。
//    如果操作数2等于0.0，则输出“Wrong!Division by zero!”。
//    示例1
//    输入：
//            1.0+3.0
//    输出：
//            1.0000+3.0000=4.0000
//            示例2
//    输入：
//            1.0;4.0
//    输出：
//    Invalid operation!
//            示例3
//    输入：
//            44.0/0.0
//    输出：
//    Wrong!Division by zero!
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNextLine()) {
            String str = scan.nextLine();
            String[] strs = str.split("[+\\-*/]");//通过+-*/进行字符的分割
            if (strs.length <
                    2) { //如果没有正确的运算符或者无输入，则字符串无法分隔为两部分
                System.out.println("Invalid operation!");
            } else {//分割成功，即输入格式正确
                double num1 = Double.parseDouble(strs[0]);
                double num2 = Double.parseDouble(strs[1]);
                String operate = str.substring(strs[0].length(), strs[0].length() + 1);
                switch (operate) {
                    case "+":
                        System.out.printf("%.4f+%.4f=%.4f\n", num1, num2, num1 + num2);
                        break;
                    case "-":
                        System.out.printf("%.4f-%.4f=%.4f\n", num1, num2, num1 - num2);
                        break;
                    case "*":
                        System.out.printf("%.4f*%.4f=%.4f\n", num1, num2, num1 * num2);
                        break;
                    case "/":
                        if (num2 != 0.0) {
                            System.out.printf("%.4f/%.4f=%.4f\n", num1, num2, num1 / num2);
                        } else {
                            System.out.println("Wrong!Division by zero!");
                        }
                        break;
                }
            }
        }
    }
}
